package com.egao.common.module.counsel.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.egao.common.core.web.JsonResult;
import com.egao.common.module.counsel.entity.Counsel;
import com.egao.common.module.counsel.param.CounselParam;
import com.egao.common.module.counsel.result.CounselCalendarColumns;
import com.egao.common.module.student.entity.Student;
import com.egao.common.module.system.entity.User;

import java.util.Date;
import java.util.List;

/**
 * @author lym
 * @date 2022/1/24 17:11
 */
public interface CounselService extends IService<Counsel> {

    /**
     * 咨询日历
     * @param dateStr 日期
     * @param user 登录用户
     * @return CounselCalendar
     */
    List<CounselCalendarColumns> calendar(String dateStr, User user);

    /**
     * 取消
     * 有学生预约并发送取消通知
     * @param counsel Counsel
     * @param student Student
     * @return JsonResult
     */
    JsonResult cancelCounsel(Counsel counsel, Student student);

    /**
     * 保存一个周期内的所有预约咨询
     * @param counselParam
     * @return
     */
    boolean saveCycle(CounselParam counselParam);


    /**
     * 更新咨询
     * @param counsel
     * @return
     */
    boolean updateCounsel(Counsel counsel);

}
